home *** CD-ROM | disk | FTP | other *** search
-
-
- MiniMorph v1.1b
-
-
- by Philippe Banwarth 1993/94
- based on VMorph version 2 beta by Lee Wilkie 1992/93 (mainly for user
- interface)
-
-
- This is the freeware version of MiniMorph. You may use and distribute it as
- long as you don't ask more than a small copy fee. You use it at your own risk.
-
- It needs : ReqTools.library © Nico François
- IFF.library (v23 or more) © Christian A. Weber
-
-
- About this document.
- As my English is very poor, and as MiniMorph's user interface is inspired
- by VMorph's one much of this document is taken from VMorph's doc file.
- (indicated by [] )
-
-
- What is MiniMorph ?
- MiniMorph is a program that will allow you to create smooth morphs/warps
- between two different images over a period of frames to create an animation.
- Actually it works only on greyscale pictures (16-256). It has been written
- 100% in assembler to be as fast as possible. For example morphing a
- 320*256*256 picture takes less than 9 seconds on a standard A1200.
-
- [
- What is morphing ?
- Morphing is an effect whereby you take a source and destination image
- and over a period of time you fade/'bend' the source image into the
- destination.
-
-
- What is warping ?
- Warping is very similar to morphing except that the destination image
- is only used as a 'shape'. The source image is then warped to fit this
- shape. This process is twice as fast as morphing as only one image is
- rendered per frame as opposed to two for morphing.
- ]
-
- What's on the disk ?
- 1) MiniMorph v1.1b in two version a hires
- and a lores one. The hires version can't handle pictures smaller than
- 640*256 (200 for NTSC). On non AGA machines it will be much slower
- specially if you have no real fast ram.
- 2) IFF an ReqTools libraries (with a script to install them).
- 2) Three IFF pictures for you to experiment with.
- 4) This documentation.
-
-
- What are MiniMorph requirement ?
- 1) IFF and ReqTools libraries (supplied)
- 2) Kickstart 1.3+
- 3) As much ram as possible. At least (picture height * picture width * 4)
- bytes of fast ram + (picture height * picture width * 1.5) bytes of
- chip ram + some more ram for IFFlib to work
-
- [
- How does MiniMorph do it?
- To create a morph/warp you need two images, a source and a destination.
- These are loaded into the program and are overlayed with a grid. Where the
- lines of the grid intersect is called a point. One point on one of the
- grids has a 'sister' point on the other.
-
- What the user then does is position these points over specific parts of
- each image that are common to both. For example, if you were morphing
- between two faces you would position some points around the nose on the
- source grid to 'outline' it then you would place the same points around
- the nose on the destination grid.
-
- What you are left with after editing is complete is two grids that define
- the shape of the source and destination images.
-
- When rendering is finally started MiniMorph does the following for each
- frame :
-
- 1) Creates a 'frame' grid from the source and destination grids.
- The shape of this is a mix of the source and destination grids
- and depends on what frame is being rendered. Example :
-
- First frame - 100% Source/000% Dest
- Half way frame - 050% Source/050% Dest
- Last frame - 000% Source/100% Dest
-
- 2) Takes the image data from every square of the source grid and maps
- it into the shape of the same square from the frame grid to form
- image A.
-
- 3) Does the same with the destination grid to form image B
-
- 4) Mixes images A+B depending on current frame as above. Example :
-
- First frame - 100% image A/000% image B
- Half way frame - 050% image A/050% image B
- Last frame - 000% image A/100% image B
- ]
-
-
-
- Using MiniMorph :
- Keys :
- Space ................. Toggle between source and destination grids.
- Cursor keys ........... Move the picture (if greater then 320*256)
- F1/F2/F3/F4............ Open/close one of the windows.
-
-
- Edit window :
- Slider button ......... Set strength in attract/repulse mode.
- Mode .................. Move/attract/repulse (it's faster for you to
- try than for me to explain).
- Show moves ............ Display for each point the move from source
- to destination position. Press space for
- normal display.
- The big slider ........ Move the display window on the pictures.
-
-
- Picture window :
- Image load ............ Load a picture, it may be truncated to match
- the actual size. MiniMorph accept any IFF
- picture and translate it to grey scale if
- necessary. It don't take care of specials
- modes (EHB, HAM, HAM8) so the result may
- be strange.
- Image clear ........... Clear the picture.
- Grid load ............. Load a grid, it's scaled to the picture size.
- Grid save ............. Save the grid.
- Reset ................. Reset the both grids AND images to the value
- indicated.
-
- Render window :
- # of frames ........... The total number of frames including the
- first one (i.e. the source image (both
- modes)) and the last one (i.e. the
- destination image (morph mode)). So
- should be at least 2.
- From .................. The first frame to be rendered. It is
- senseless to 'render' frame 1 except if
- you want it to be saved with MiniMorph's
- palette. Start at one (not zero)
- To .................... The last frame to be rendered.
- GO .................... Start the rendering. Press ESC to stop.
- name .................. This is the save name. MiniMorph saves each
- frame separately. A % in the name will be
- replaced by the frame number (which is added
- to the end if none). NIL: means no saving.
- # of grey ............. Allow you to choose the depth of the outputed
- pictures. Please note that this has NO
- effect on the processing speed NOR on the
- display (Which is always 16 colours so non
- AGA machine users can use MiniMorph).
-
- Misc window :
- TaskPri ............... Set the task priority. Useful when you
- want the rendering to be done as a
- background task while you play a
- minigame for example (they use less than
- 10% of a 7MHz 68000)
-
-
-
-
- Using the editing grid :
-
- Moving a grid point.
- Click on the point with the left button to pick it up and release button
- to drop it.
-
- Adding a row to the grid.
- Move the cursor to the very left edge of the SCREEN (which is not
- necessary left edge of the picture) between the two grid lines where you
- wish to add a row and click the right button.
-
- Adding a column to the grid.
- Move the cursor to the very top edge of the screen (same remark) between
- the two grid lines where you wish to add a column and click the right
- button.
-
- Removing a column or a row.
- Go to the opposite edge and click right mouse button. The removed
- row/column is the one that is left/up.
-
- [
- Things to remember when using MiniMorph
-
- 1) When choosing two images to morph between make sure they are
- of similar composition i.e. if they are faces try to get two that
- are roughly the same size, brightness and in similar positions
- within the image. This will produce a better morph. Also cut out
- both objects being morphed and paste them onto a neutral background.
-
- 2) Avoid creating 'bad' squares when editing as these will cause
- incorrect results. A bad square is defined as :
-
- Any point along any of its diagonals lying outsize the area
- of the square itself. (confused!? - you will be!)
-
- 3) Animation frame values start at one, so for a ten frame animation
- set range from one to ten.
-
- 4) When producing a morph or warp animation the first frame
- will be identical to the source image. It is good idea to set
- the range start to two and use the source image as the first frame.
-
- When morphing the above is true for the last frame as this will be
- the same as the destination image. So decrease range end by one and
- use the destination image as the last frame.
-
- 5) When outlining an object try to make sure the edge of the object
- is just inside the lines of the grid, this produces a smoother
- edge during rendering.
-
- 6) The more detailed the grid the better the result.
- (note - this does NOT (Wow!) slow down the rendering process)
- ]
-
- NOTES :
- Grids are rescaled while images are just truncated so the examples
- grid/images won't fit on a NTSC machines.
-
- while rendering (and only while rendering) MiniMorph uses a low
- to high sorted palette : system requesters may be difficult to
- read so I decided to suppress them ( don't be afraid it's
- perfectly legal : Amigados assumes that you have clicked on
- Cancel ). For example instead of "volume XXX is write protected"
- (from DOS), you will get a requester "IFF error : can't write file"
- (from MiniMorph).
-
- rendering speed depend on the pictures colours !! The more dark
- it is the more fastest it will be rendered. A totally white
- picture is processed 7-8% faster than a totally black picture.
- Seems strange isn't it ? :-)
-
-
- The complete version cost US$ 3 (three) (see the address in the program). I
- don't expect to make money, it's mainly to incite YOU to write me. So please
- send me bug reports, suggestions, postcard, etc...
-
-
-
- credits:
- Lee Wilkie ............... Original ideas
- Ross Halliday ............ Digitised pictures
- Christian A. Weber
- and Nico François ........ Great libraries
-
- history:
-
- 1.0 : first release
-
- 1.1 : 256 grey scales
- minor bugs added :-(
-
- 1.1b : minor bugs fixes
-
-